home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
yerk
/
mps231ss.hqx
/
Mops source
/
Nuc source
/
Nuc.asm
< prev
next >
Wrap
Assembly Source File
|
1992-10-24
|
3KB
|
101 lines
; MOPS - Mike's Object-oriented Programming System.
; The language is a close relative of Neon¬ (now discontinued).
fsign 'MOPS' ; We've got to put this somewhere
; in the assembly!
M68030
jtbl comma,wcomma,ncomma,swap,pcomp,length,doPAtAbs,star,slash,main
ref handlers
ipath "::mops source:nuc source:"
IF1
incl "macrox.asm"
incl "globals.psm"
ENDI
incl "Defn.asm"
incl "OD.asm"
incl "Nuc1.asm"
incl "Nuc2.asm"
; From LATEST on, saved dictionary images OVERLAP the assembled
; nucleus. All defined words should be at exactly the same locations.
; The quantities here are all those which need to "stick" to what they
; were set in the saved image.
valu 6,LATEST,latest ; LATEST
valu 8,CURR-DEF,currDef ; CURR-DEF
valu 2,DP,dp ; DP
valu 5,FENCE,fence,lastname-base ; FENCE
valu 9,WARNINGS?,warnings ; WARNINGS?
valu 7,USEFPU?,useFPUq ; UseFPU?
head 6,FEVENT,fEvent,doObj ; FEVENT
byte 18 ; ivars space
dc.w 4 ; indexed elt width
dc.l 23 ; #elts - 1
byte 4*24 ; allocate space for them
head 3,FAE,fAE,doObj ; FAE
long
head 6,FPRECT,fPrect,doObj ; FPRECT
rect 1
head 6,FDRECT,fdrect,doObj ; FDRECT
rect 1
svec 5,UFIND,ufind,vfalse ; UFIND
svec 5,FNUM?,Fnumq,vfalse ; FNUM?
svec 13,NUMACCUMULATE,numAccumulate,pNumAccumulate ; NumAccumulate
svec 3,KEY,key,pkey ; KEY
svec 4,KEY!,keyst,pkeyst ; KEY!
svec 5,PAUSE,pause ; PAUSE
svec 6,?PAUSE,qPause ; ?PAUSE
svec 8,GETSPACE,getspace,vfalse ; GETSPACE
svec 6,RNGERR,rngErr ; RNGERR
svec 4,$ERR,strErr,abort ; $ERR
svec 8,ARITHERR,ArithErr,abort ; ArithErr
svec 7,OBJINIT,objinit ; OBJINIT
svec 11,EXTRA_INITS,extrainits ; EXTRA_INITS
svec 8,ABORTVEC,abortvec ; ABORTVEC
svec 7,QUITVEC,quitvec ; QUITVEC
svec 8,SETFWIND,setFwind ; SETFWIND
svec 8,DFLT-DIE,dfltDie,dfltErr ; Dflt-DIE
svec 4,TSTR,tstr,drop
svec 7,FREFILL,Frefill ; FREFILL
svec 7,MODLOAD,modLoad ; MODLOAD
svec 6,TEIDLE,TEidle ; TEIDLE
svec 10,COMPINLINE,compinline ; COMPINLINE
svec 10,OPENAPPVEC,OpenAppVec,vfalse ; OpenAppVec
svec 10,OPENDOCVEC,OpenDocVec,OpenMopsDic ; OpenDocVec
svec 11,PRINTDOCVEC,PrintDocVec,OpenMopsDic ; PrintDocVec
svec 10,QUITAPPVEC,QuitAppVec,bye ; QuitAppVec
svec 11,READ1DOCVEC,Read1DocVec,ReadDic ; Read1DocVec
lastname equ *+2
varbl 7,CONTEXT,context
dc.l q0+d-*
dc.l q1+d-*
dc.l q2+d-*
dc.l q3+d-*
dc.l q4+d-*
dc.l q5+d-*
dc.l q6+d-*
dc.l q7+d-*
start_dp ; We use this to set the initial DP value
NucTop ; Marks the end of this assembly